package com.example.demo.util;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * 初始化管理员用户工具类
 * 在应用启动时创建一个默认的管理员用户
 */
@Component
public class AdminUserInitializer implements CommandLineRunner {

    @Autowired
    private UserService userService;

    @Override
    public void run(String... args) throws Exception {
        // 检查管理员用户是否已存在
        User adminUser = userService.findByUsername("admin");
        
        if (adminUser == null) {
            // 创建管理员用户
            User user = new User();
            user.setUsername("admin");
            user.setPassword("admin123"); // 注意：实际环境中应使用更安全的密码
            user.setEmail("admin@example.com");
            user.setPhone("13800138000");
            user.setRealName("系统管理员");
            user.setStatus(1); // 启用状态
            
            boolean success = userService.register(user);
            
            if (success) {
                System.out.println("管理员用户创建成功: admin/admin123");
            } else {
                System.out.println("管理员用户创建失败");
            }
        } else {
            System.out.println("管理员用户已存在");
        }
    }
}